using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Tomahawk.Runtime.Rendering.Interfaces;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content;
using Tomahawk.Runtime.Scene;
using Tomahawk.Runtime.Resources;

namespace Tomahawk.Runtime.Rendering.Objects
{

    /// <summary>
    /// This class represent a representable object that can by attached to a scene node 
    /// </summary>
    public abstract class Entity : LoadableResource
    {
        /// <summary>
        /// The scene node that contains this entity
        /// </summary>
        private SceneNode parentSceneNode = null;

        /// <summary>
        /// Access to the parent scene node
        /// </summary>
        public SceneNode ParentSceneNode
        {
            get { return parentSceneNode; }
        }

        /// <summary>
        /// This method is used by the SceneNode to notify an entity about his parent
        /// </summary>
        internal void setParentSceneNode (SceneNode node)
        {
            parentSceneNode = node;
        }

    }

}


